/*  zwt */
package cn.mandy.sysadmin.model;

import cn.mandy.sysadmin.common.util.MandyTree;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

public class MandyPermission implements MandyTree<MandyPermission> {
    private List<MandyPermission> children;
    private  List<MandyRolePermParam> parameters;
    //添加新的面板, 配置参数的时候, 用 el-select 控件, v-model 绑定一个简单的数组更方便,
    //取回 parameterIds 后再往 parameters 更新
    private List<String> parameterIds;

    @Override
    public List<MandyPermission> getChildren() {
        return children;
    }

    @Override
    public void setChildren(List<MandyPermission> children) {
        this.children = children;
    }

    public List<MandyRolePermParam> getParameters() {
        return parameters;
    }

    public void setParameters(List<MandyRolePermParam> parameters) {
        this.parameters = parameters;
    }

    public List<String> getParameterIds() {
        return parameterIds;
    }

    public void setParameterIds(List<String> parameterIds) {
        this.parameterIds = parameterIds;
    }

    private Long id;

    private Long parentId;

    @ApiModelProperty(value = "类型:perm_type")
    private String permType;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "组件名")
    private String name;

    @ApiModelProperty(value = "图标名称")
    private String iconClass;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "审核状态:audit_state")
    private String auditState;

    private Long createUserId;

    private String createUserName;

    private Date createTime;

    private Long auditUserId;

    private String auditUserName;

    private Date auditTime;

    private Date lastModifyTime;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getPermType() {
        return permType;
    }

    public void setPermType(String permType) {
        this.permType = permType;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIconClass() {
        return iconClass;
    }

    public void setIconClass(String iconClass) {
        this.iconClass = iconClass;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getAuditState() {
        return auditState;
    }

    public void setAuditState(String auditState) {
        this.auditState = auditState;
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getAuditUserId() {
        return auditUserId;
    }

    public void setAuditUserId(Long auditUserId) {
        this.auditUserId = auditUserId;
    }

    public String getAuditUserName() {
        return auditUserName;
    }

    public void setAuditUserName(String auditUserName) {
        this.auditUserName = auditUserName;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Date getLastModifyTime() {
        return lastModifyTime;
    }

    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", parentId=").append(parentId);
        sb.append(", permType=").append(permType);
        sb.append(", title=").append(title);
        sb.append(", name=").append(name);
        sb.append(", iconClass=").append(iconClass);
        sb.append(", remark=").append(remark);
        sb.append(", auditState=").append(auditState);
        sb.append(", createUserId=").append(createUserId);
        sb.append(", createUserName=").append(createUserName);
        sb.append(", createTime=").append(createTime);
        sb.append(", auditUserId=").append(auditUserId);
        sb.append(", auditUserName=").append(auditUserName);
        sb.append(", auditTime=").append(auditTime);
        sb.append(", lastModifyTime=").append(lastModifyTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}